﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kooboo.HtmlFunc.Providers;

namespace Kooboo.HtmlFunc.Models
{
    public class AnalyseResult : IAnalyseResult
    {
        public AnalyseResult()
        {
            this.PageSetting = Provider.Factory.GetProvider<IPageSetting>();
            this.Positions = new List<IPosition>();
            this.HtmlParts = new List<IHtmlPart>();
            this.ViewParts = new List<IViewPart>();
            this.HtmlBlocks = new List<IHtmlBlockPart>();
            this.Labels = new List<ILabel>();
            this.Menus = new List<IMenu>();
            this.Lists = new List<IList>();
            this.Details = new List<IDetail>();
            this.Customs = new List<ICustom>();
            this.Metas = new List<IMetaTag>();
            this.ImgTags = new List<IImgTag>();
            this.StyleTags = new List<IStyleTag>();
            this.ScriptTags = new List<IScriptTag>();
            this.AnchorTags = new List<IAnchorTag>();
        }

        #region IAnalyseResult Members

        public ILayout Layout
        {
            get;
            set;
        }

        public IPageSetting PageSetting
        {
            get;
            set;
        }

        public IList<IPosition> Positions
        {
            get;
            set;
        }

        public IList<IHtmlPart> HtmlParts
        {
            get;
            set;
        }

        public IList<IViewPart> ViewParts
        {
            get;
            set;
        }

        public IList<IHtmlBlockPart> HtmlBlocks
        {
            get;
            set;
        }

        public IList<ILabel> Labels
        {
            get;
            set;
        }

        public IList<IMenu> Menus
        {
            get;
            set;
        }

        public IList<IList> Lists
        {
            get;
            set;
        }

        public IList<IDetail> Details
        {
            get;
            set;
        }

        public IList<ICustom> Customs
        {
            get;
            set;
        }

        public IHtmlTag HtmlTag
        {
            get;
            set;
        }

        public IHeadTag HeadTag
        {
            get;
            set;
        }

        public ITitleTag TitleTag
        {
            get;
            set;
        }

        public IBodyTag BodyTag
        {
            get;
            set;
        }

        public IList<IMetaTag> Metas
        {
            get;
            set;
        }

        public IList<IImgTag> ImgTags
        {
            get;
            set;
        }

        public IList<IStyleTag> StyleTags
        {
            get;
            set;
        }

        public IList<IScriptTag> ScriptTags
        {
            get;
            set;
        }

        public IList<IAnchorTag> AnchorTags
        {
            get;
            set;
        }

        #endregion
    }
}
